草庐IT

algorithm - 用户匹配算法

全部标签

javascript - 使用高效算法对数组中的相同对进行计数

问题陈述:a[]是n个数的数组,数组中相同对的计数,使得0p,q是对的索引。a[3,5,6,3,3,5]n=6这里相同对的数目是4,它们是(0,3),(0,4),(3,4),(1,5)且不(2,2)或(4,3)违反p条件。解决方案1:functiongetIdenticalPairs(a,n){varidenticalPairs=0;for(vari=0;i这段代码工作得很好,但它的时间复杂度似乎是o(n2)。我尝试的第二个解决方案是,解决方案2:使用组合公式,相同对的nos,ncrvaridenticalPairs=0;functiongetIdenticalPairs(a,n){v

javascript - 如何动态获取匹配的输入字段以将值添加到 Javascript 中的对象?

我有一个包含两个输入字段的页面。我有一个JS对象(信息),其中包含每个项目的“引用”和“值”字段。对于每个项目,都有一个相应的“输入”字段与“类”属性匹配。当用户更新匹配的输入字段时,我想在信息对象中添加它的“值”。我遇到的问题是,它将值放在数组的最后一项(location.value)中,用于任一输入。谁能帮我解决我哪里出错了?(我可以看到使用“每个”的解决方案,其中所有输入的数据都需要添加到一个数组/对象中。我坚持获取匹配字段的数据。)$(document).ready(function(){varinfo={name:{ref:"a2350",value:""},location

javascript - 在向用户显示输出的同时准确测量 Javascript 函数的性能

正如您在下面的代码中看到的,当我增加字符串的大小时,它会导致0毫秒的差异。此外,随着字符串数量的增加,会出现不一致的情况。我是不是做错了什么?letstringIn=document.getElementById('str');letbutton=document.querySelector('button');button.addEventListener('click',()=>{lett1=performance.now();functionToTest(stringIn.value);lett2=performance.now();console.log(`timetakeni

javascript - 告诉我的库函数的用户传递的变量类型不正确的最佳方法是什么

我目前正在创建一个javascript函数库。主要供我自己使用,但您永远无法确定其他人是否最终会在他们的项目中使用它,我至少在创建它时就好像那会发生一样。大多数方法只有在传递的变量具有正确的数据类型时才有效。现在我的问题是:提醒用户变量类型不正确的最佳方式是什么?应该抛出这样的错误吗?functionfoo(thisShouldBeAString){//justpretendthatthisisamethodandnotaglobalfunctionif(typeof(thisShouldBeAString)==='string'){throw('foo(var),varshouldb

javascript - 监控用户 session 以防止编辑冲突

我正在研究类似于pastebin的东西(是的,它是that通用的)但允许多个用户编辑。明显的问题是多个用户试图编辑同一个文件。我正在考虑在一个用户处理文件时锁定文件(这不是最好的解决方案,但我不需要太复杂的东西),但为了防止/警告用户我显然需要一个用于监视每个用户的编辑session的系统。使用数据库和ajax,我正在考虑两种解决方案。第一种方法是让编辑页面以任意时间间隔(比如一分钟)对服务器执行ping操作,然后它会更新数据库中的编辑session条目。然后下一次脚本请求编辑时,它会检查最近的ping,如果最近的是另一个任意时间之前,比如五分钟,那么我们假设前一个用户已经退出并且可以

javascript - 正则表达式:匹配除第一个小数以外的所有小数

要匹配除第一个小数以外的所有小数,正则表达式模式是什么?我正在使用javascript的replace(),并且想删除字符串中除第一个小数点之外的所有内容。例子:1.2.3.4.5-->1.2345.2.3.4.5-->.23451234..-->1234. 最佳答案 你可以这样做:functionparseAndNormalizeDecimal(dec){vari=0;varresult=dec.replace(/\./g,function(all,match){returni++===0?'.':'';});returnresu

javascript - 在什么时候我可以判断用户是否选择不共享他们的位置?

我正在尝试使用PHP和javascript发送纬度和经度以及网络摄像头图像和一些其他数据-不要问,这只是我开始的一个小项目,希望能学到一些东西。为了使纬度和经度可用,我必须在检索到纬度和经度后调用网络摄像头功能。这是我正在使用的javascript(地理定位部分来自Lynda.com。我将其与JpegCam相结合)。我添加了纬度和经度div来保存这些值。然后我调用网络摄像头函数now_go(),它使用getElementById()获取纬度和经度。只要用户共享他们的位置,这就很好用。如果他们不这样做,则不会调用now_go()函数。但是,如果我更早地调用它,即使用户决定共享他们的位置,

javascript - 用 window.find() 匹配所有出现的地方

例如,如果我有一个如下所示的HTML网页HelloTechies,Techieshere.如果我使用搜索“Techies”varsel=window.getSelection();sel.collapse(document.body,0);document.body.offsetHeight;if(window.find("Techies",true)){document.execCommand("hiliteColor",false,"YellowGreen");sel.collapseToEnd();}它仅突出显示“技术人员”的第一次出现。但是当我使用Ctrl+F搜索时,第一个出现

javascript - 最小交叉点布局算法

我想知道是否有任何图形的最小交点布局算法(不是基于力的)示例,因此我可以将其适应d3.js。 最佳答案 计算最小化边交叉的图形布局是NP-hard,因此没有单一的算法;有不同的算法具有不同的权衡。基于力的布局(Fruchterman–Reingold)是一种方法,分层(Sugiyama)是另一种方法。还有针对特定类型图形的布局,例如树(Reingold–Tilford)和小世界(vanHam–vanWijk)。诸如Dig-CoLa(Dwyer–Koren)之类的约束布局是另一类算法。如果您想要一种专门寻求最小化边缘交叉数的算法,您可

javascript - 如何防止用户使用 jQuery 在文本框中输入特定字符?

我有一个正则表达式,可以匹配用户的按键。我非常坚持。这是我当前的代码:$('input.alpha[$id=tb1]').keydown(function(e){//vark=e.which;//varg=e.KeyCode;vark=$(this).val();//varc=String.fromCharCode(e.which);if(k.value.match(/[^a-zA-Z0-9]/g)){e.preventDefault();}});这里的目标是防止用户输入正则表达式中的字符。 最佳答案 尝试使用fromCharCod